import 'dart:convert';
import 'package:flutter_app/generated/json/base/json_field.dart';
import 'package:flutter_app/generated/json/user_info_entity.g.dart';

@JsonSerializable()
class UserInfoEntity {

  String? appCode;
  List<dynamic>? appCodes;
  String? appId;
  String? checkedIdentity;
  String? defaultPlatform;
  int? expiresMillisecond;
  String? headImgUrl;
  String? headUrl;
  String? initPassword;
  String? loginName;
  UserInfoLoginPostInfo? loginPostInfo;
  String? loginTime;
  String? loginType;
  List<dynamic>? menuIds;
  String? nickName;
  String? openId;
  List<UserInfoPermissionMenuDTOS>? permissionMenuDTOS;
  UserInfoPermissionMenus? permissionMenus;
  List<UserInfoRoleVOList>? roleVOList;
  String? sessionKey;
  String? telephone;
  String? tenantId;
  String? token;
  List<UserInfoUiasRoleList>? uiasRoleList;
  String? userId;
  String? userName;
  List<UserInfoUserOrgPostDTOList>? userOrgPostDTOList;
  int? userType;

  UserInfoEntity();

  factory UserInfoEntity.fromJson(Map<String, dynamic> json) => $UserInfoEntityFromJson(json);

  Map<String, dynamic> toJson() => $UserInfoEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class UserInfoLoginPostInfo {
  String? districtLevel;
  int? isDefault;
  String? orgAlias;
  String? orgId;
  String? orgName;
  String? orgPostId;
  String? orgType;
  String? postId;
  String? postName;

  UserInfoLoginPostInfo();

  factory UserInfoLoginPostInfo.fromJson(Map<String, dynamic> json) => $UserInfoLoginPostInfoFromJson(json);

  Map<String, dynamic> toJson() => $UserInfoLoginPostInfoToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class UserInfoPermissionMenuDTOS {
  String? appCode;
  String? belongPage;
  String? menuCode;
  String? menuId;
  String? menuName;
  int? menuType;
  String? menuUrl;
  String? pid;

  UserInfoPermissionMenuDTOS();

  factory UserInfoPermissionMenuDTOS.fromJson(Map<String, dynamic> json) => $UserInfoPermissionMenuDTOSFromJson(json);

  Map<String, dynamic> toJson() => $UserInfoPermissionMenuDTOSToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class UserInfoPermissionMenus {
  UserInfoPermissionMenusAdditionalProperties1? additionalProperties1;

  UserInfoPermissionMenus();

  factory UserInfoPermissionMenus.fromJson(Map<String, dynamic> json) => $UserInfoPermissionMenusFromJson(json);

  Map<String, dynamic> toJson() => $UserInfoPermissionMenusToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class UserInfoPermissionMenusAdditionalProperties1 {
  String? appCode;
  String? belongPage;
  String? menuCode;
  String? menuId;
  String? menuName;
  int? menuType;
  String? menuUrl;
  String? pid;

  UserInfoPermissionMenusAdditionalProperties1();

  factory UserInfoPermissionMenusAdditionalProperties1.fromJson(Map<String, dynamic> json) => $UserInfoPermissionMenusAdditionalProperties1FromJson(json);

  Map<String, dynamic> toJson() => $UserInfoPermissionMenusAdditionalProperties1ToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class UserInfoRoleVOList {
  String? orgPostRoleType;
  String? roleCode;
  String? roleName;
  String? userId;

  UserInfoRoleVOList();

  factory UserInfoRoleVOList.fromJson(Map<String, dynamic> json) => $UserInfoRoleVOListFromJson(json);

  Map<String, dynamic> toJson() => $UserInfoRoleVOListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class UserInfoUiasRoleList {
  String? roleCode;
  String? roleId;
  String? roleName;
  int? roleType;
  String? sourceId;
  String? sourceType;

  UserInfoUiasRoleList();

  factory UserInfoUiasRoleList.fromJson(Map<String, dynamic> json) =>
      $UserInfoUiasRoleListFromJson(json);

  Map<String, dynamic> toJson() => $UserInfoUiasRoleListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class UserInfoUserOrgPostDTOList {
  String? districtLevel;
  int? isDefault;
  String? orgAlias;
  String? orgId;
  String? orgName;
  String? orgPostId;
  String? orgType;
  String? postId;
  String? postName;

  UserInfoUserOrgPostDTOList();

  factory UserInfoUserOrgPostDTOList.fromJson(Map<String, dynamic> json) =>
      $UserInfoUserOrgPostDTOListFromJson(json);

  Map<String, dynamic> toJson() => $UserInfoUserOrgPostDTOListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}
